package Entity;

import java.io.Serializable;

import Controllers.GenericToolsForController.RequestMainStatusEnum;
import Controllers.GenericToolsForController.RequestStepStatusEnum;

@SuppressWarnings("serial")
public class Status implements Serializable
{
	private int statusId;
	private RequestMainStatusEnum mStatus;
	private RequestStepStatusEnum sStatus;
	

	/**
	 * constructor with id and statuses
	 * @param statusId
	 * @param sStatus
	 * @param mStatus
	 */
	public Status(int statusId, RequestStepStatusEnum sStatus,
			RequestMainStatusEnum mStatus) {
		super();
		this.statusId = statusId;
		this.mStatus = mStatus;
		this.sStatus = sStatus; 
	}
	/**
	 * constructor with id
	 * @param statusId
	 * @param mStatus
	 * @param sStatus
	 */
	public Status(int statusId, String mStatus,
			String sStatus) {
		super();
		this.statusId = statusId;
		this.mStatus = RequestMainStatusEnum.fromString(mStatus);
		this.sStatus = RequestStepStatusEnum.fromString(sStatus) ;
	}
	/**
	 * constructors from statuses
	 * @param sStatus
	 * @param mStatus
	 */
	public Status(RequestStepStatusEnum sStatus, RequestMainStatusEnum mStatus) {
		// TODO Auto-generated constructor stub
		this.mStatus = mStatus; 
		this.sStatus = sStatus;
	}
/**
 *  constructor form strings
 * @param sStatus
 * @param mStatus
 */
	public Status(String sStatus, String mStatus) {
		// TODO Auto-generated constructor stub
		this.mStatus =RequestMainStatusEnum.valueOf(mStatus); 
		this.sStatus = RequestStepStatusEnum.valueOf(sStatus);
	}
	
	
	/**
	 * getter
	 * @return
	 */
	public RequestMainStatusEnum getmStatus() {
		return mStatus;
	}
	/**
	 * setter
	 * @param mStatus
	 */
	public void setmStatus(RequestMainStatusEnum mStatus) 
	{
		this.mStatus = mStatus;
	}
	/**
	 * getter status
	 * @return
	 */
	public RequestStepStatusEnum getsStatus() 
	{ 
		return sStatus;
	}
	/**
	 * set status
	 * @param sStatus
	 */
	public void setsStatus(RequestStepStatusEnum sStatus) 
	{
		this.sStatus = sStatus;
	}
	
}
